#ifndef __OHOS_RESOURCE_UTILS_H_
#define __OHOS_RESOURCE_UTILS_H_
#include <stdint.h>
#include "napi/native_api.h"


#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
    ARG_INT,
    ARG_FLOAT,
    ARG_STR
}ArgType;

typedef struct {
    ArgType type;
    union Value {
        int i;
        float f;
        const char *s;
    }v;
}Arg;
void InitOhosResourcesUtils(napi_env env);
int GetMediaByName(const char *resName, char **resultValue, uint64_t *resultLen, uint32_t density);
int GetMediaBase64ByName(const char *resName, char **resultValue, uint64_t *resultLen, uint32_t density);
int GetColorByName(const char *resName, uint32_t *resultValue);
int GetStringByName(const char *resName, char **resultValue);
int GetFormatStringByName(const char *resName, char **resultValue, const Arg *args, int argCount);
int GetStringPluralByName(const char *resName, uint32_t num, char **resultValue);
int GetFormatStringPluralByName(const char *resName, uint32_t num, char **resultValue, const Arg *args, int argCount);
int GetIntByName(const char *resName,int *resultValue);
int GetFloatByName(const char *resName,float *resultValue);
int GetFileByName(const char *resName, char **resultValue, size_t *bytes);
int GetFile64ByName(const char *resName, char **resultValue, uint64_t *bytes);
#ifdef __cplusplus
}
#endif
#endif
